Date: Tue, 10 Dec 1996 16:46:31 GMT
Server: NCSA/1.4.2
Content-type: text/html

<html>

<TITLE>CSE 413 (Winter 1996) Tentative Schedule</TITLE>
<body>

<H1>CSE 413 (Winter 1996)<br>
Tentative Schedule of Topics
</h1> 



<DT> 1. Introduction (Jan 2)
<DD>  <A HREF="http://www.cs.washington.edu/education/courses/413/lecture-slides/Intro-Prog-Langs-413.ps">Why programming languages? Programming language paradigms</A>
<DD>  Interpreters vs compilers
<DD>  Overview

<DT> 2. Lisp (Jan 2, 4, 9, 11)
<DD>  <A HREF="http://www.cs.washington.edu/education/courses/413/lecture-slides/Lisp1-413.ps">Introduction</A>

<DD>  <A HREF="http://www.cs.washington.edu/education/courses/413/lecture-slides/Lisp2-413.ps">Basic functions and expressions of Lisp</A><DD>  
<DD>  Alternative control structures

<DD>  Rules of evaluation
<DD>  How to write 
<A HREF="http://www.cs.washington.edu/education/courses/413/lecture-slides/Lisp3-413.ps">recursive functions, etc.</A><DD>  

<DT> 3. Programming Techniques with Lisp <A HREF="http://www.cs.washington.edu/education/courses/413/lecture-slides/jan16.ps">(Jan. 16).</A><DD>  
<DD>  String and File manipulation in Lisp. Examples:
<A HREF="http://www.cs.washington.edu/education/courses/413/lecture-slides/fileanal.cl">fileanal.cl</A>, and 
<A HREF="http://www.cs.washington.edu/education/courses/413/lecture-slides/postcalc.cl">postcalc.cl</A>,

<DD>  An evaluator in Lisp with extra tracing features
<DD>  <A HREF="http://www.cs.washington.edu/education/courses/413/lecture-slides/Production-Systems.ps">Production systems and Pattern matching (Jan 18)</A>


<DT> 4. Dynamic Memory Management <a href="http://www.cs.washington.edu/education/courses/413/lecture-slides/jan-23.html">(Jan 23)</a>
<DD>  Allocation of space for data
<DD>  Garbage Collection
<DT> 5. Prefix, Infix, and Postfix notations and conversions (Jan 23)
<DD>  Infix to prefix conversion with interpretation by Lisp
<DD>  Stack machines and their emulation in Lisp
<DD>  Infix to postfix conversion with stack machine evaluation

<DT> 6. Lexical analysis  <a href="http://www.cs.washington.edu/education/courses/413/lecture-slides/jan-25.html">(Jan 25)</a>
<DD>  Regular expressions
<DD>  Finite-state automata
<DD>  Regular expressions for tokens of programming languages
<DD>  A simple lexical analyzer in Lisp (Assignment 4)

<DT> 7. Parsing <a href="http://www.cs.washington.edu/education/courses/413/lecture-slides/jan-30.html">(Jan 30)</a>
<DD>  Grammars
<DD>  Context-free grammars
<DD>  Recursive-descent parsing
<DD>  Lisp implementation
<DD>  Other parsing techniques

<DT> 8. Translation and Code Generation (Jan 30)
<DD>  Syntax-directed translation
<DD>  Three-address code
 
<DT> 9. Logic Programming <a href="http://www.cs.washington.edu/education/courses/413/lecture-slides/logic-pr.html">(Feb 1)</a>
<DD>  Horn-clause logic
<DD>  
<a href="http://www.cs.washington.edu/education/courses/413/lecture-slides/unifiers.html">
Unification</a>.
<DD>  Prolog syntax and semantics
<DD>  Logic programming in Lisp

<DT> 10. MCL Graphics and 
<a href="http://www.cs.washington.edu/education/courses/413/lecture-slides/vis-langs.html">Visual Programming</a>
 (Feb 6 and 13)
<DD>  Graphics in MCL
<DD>  Data flow paradigm
<DD>  Drawing programs for VP
<DD>  Liveness
<DD>  Iconic representation of operations and data

<DT> Midterm Exam (Feb 8)

<DT> 11. English-language programming 
<a href="http://www.cs.washington.edu/education/courses/413/lecture-slides/nat-lang.html">(Feb 15)</a>

<DD>  Semantic grammars
<DD>  Augmented transition nets
<DD>  Grammars for English
<DD>  Mixed-initiative interfaces

<DT> 12. The C language (Feb 20)
<DD>  Essentials of C
<DD>  Example program: 
<a href="http://www.cs.washington.edu/education/courses/413/lecture-slides/print10.txt">print10.c</a>
<DD>  Example program: 
<a href="http://www.cs.washington.edu/education/courses/413/lecture-slides/bincards.txt">bincard.c</a>


<DT> 13. Introduction to Java (Feb 22)
<DD>  <a href="http://java.sun.com/tutorial/getStarted/applet/index.html">How to construct the Hello World applet.</a>
<DD>  <a href="http://www.cs.washington.edu/education/courses/413/lecture-slides/StevesExample1.html">Sample graphics program (HTML and applet)</a>
<DD>  <a href="http://www.cs.washington.edu/education/courses/413/lecture-slides/StevesGraphApplet.txt">Sample graphics program (Java source)</a>


<DT> 14. Expert System Languages 
<a href="http://www.cs.washington.edu/education/courses/413/lecture-slides/feb27.html">
(Feb 27)</a>
<DD>  Rule-writing
<DD>  Inference techniques
<DD>  Implementation of shells

<DT> 15. Hybrid Programming Environments (Feb 29)
<DD> Integration of Lisp with Domain-Specific Libraries
<DD> Embedding sublangages in Lisp
<DD> Live demonstration of the XFORM programming environment.

<DT> 16. C-oriented Language processing tools (Mar 5)
<DD> <a href="http://www.cs.washington.edu/education/courses/413/lecture-slides/lex.html">Lex</a>
<DD> <a href="http://www.cs.washington.edu/education/courses/413/lecture-slides/yacc.html"> Yacc</a>

<DT> 17.  <a href="http://www.cs.washington.edu/education/courses/413/lecture-slides/Trends.txt">Trends in Programming Languages (Mar 5)</a>
<DD>  Support for Reuse
<DD>  Increased functionality
<DD>  Ease of expressing computations
<DD>  Making programmers of nonprogrammers
<DD>  Little languages
<DD>  Scripting languages
<DD>  End-user languages
<DD>  Support for safety/reliability in software
<DD>  Aesthetic beauty
<DD>  Ultimate power



<DT> Project Presentations (Mar 7)

<DT> Review for Final Exam (Mar 8)
<DD> (meeting 4:00-5:00 PM in Sieg 422)

<DT> Final Examination (Mar 11)

<HR>
<address>
tanimoto@cs.washington.edu
<p>
29 December 1995.
</address>

</html>
